/*
 *   项目名称：rpc-demo
 *   文件名称：com.xiaolon.rpc.fault.tolerant.TolerantStrategyFactory
 *
 *   创建人：  ZHOU XIAO LONG
 *   创建日期：2024/12/11
 *
 */
package com.xiaolon.rpc.fault.tolerant;

import com.xiaolon.rpc.spi.SpiLoader;

/*
 * 类描述：TolerantStrategyFactory
 * 容错策略工厂（工厂模式，获取容错策略对象）
 */
public class TolerantStrategyFactory {
    static {
        SpiLoader.load(TolerantStrategy.class);
    }

    /**
     * 默认容错策略
     */
    private static final TolerantStrategy DEFAULT_TOLERANT_STRATEGY = new FailFastTolerantStrategy();

    /**
     * 获取实例
     * @param key
     * @return
     */
    public static TolerantStrategy getInstance(String key){
        return SpiLoader.getInstance(TolerantStrategy.class, key);
    }
}
